---
# TODO: cleanup

BasedOnStyle: LLVM

StatementMacros: [_Pragma]



IndentWidth: 8
UseTab: Always
AccessModifierOffset: -4
AlignAfterOpenBracket: "Align"
AlignConsecutiveAssignments: "Consecutive"
AlignConsecutiveDeclarations: "AcrossComments"
# AlignConsecutiveAssignments: Align
# AlignConsecutiveBitFields: Align
AlignConsecutiveMacros: "AcrossComments"

AlignEscapedNewlines: Right
AlignOperands: "AlignAfterOperator"

# AlignTrailingComments: True
AllowAllArgumentsOnNextLine: False

AllowShortBlocksOnASingleLine: Always
AllowShortCaseLabelsOnASingleLine: False

AllowShortFunctionsOnASingleLine: All

AlwaysBreakAfterReturnType: "AllDefinitions"

# AlwaysBreakBeforeMultilineStrings: True

AllowShortIfStatementsOnASingleLine: "WithoutElse"

AlwaysBreakBeforeMultilineStrings: True

BinPackArguments: False
BinPackParameters: False
BitFieldColonSpacing: "Both"
BreakBeforeBraces: "Custom"
BraceWrapping:
  AfterEnum:  False
  AfterCaseLabel: False
  AfterFunction: True
  AfterStruct: False
  AfterUnion: False
  AfterExternBlock: False
  SplitEmptyFunction: False

BreakBeforeBinaryOperators: "NonAssignment"

ColumnLimit: 79
Cpp11BracedListStyle: False
DerivePointerAlignment: True

IndentGotoLabels: True
IndentPPDirectives: "AfterHash"

PointerAlignment: Right

ReflowComments: True

SortIncludes: Never

# ForEachMacros: ["cvector_iter"]

SpaceAfterCStyleCast: False
SpaceAfterLogicalNot: False
SpaceAroundPointerQualifiers: "Default"
SpaceBeforeAssignmentOperators: True
SpacesBeforeTrailingComments: 2
SpacesInContainerLiterals: True
SpaceBeforeParens: "Custom"
SpaceBeforeParensOptions:
  AfterControlStatements: True
  AfterForeachMacros: False
# StatementAttributeLikeMacros: []
InsertTrailingCommas: "Wrapped"
